package game.joueur;

import game.plateau.Plateau;
import game.support.Cochon;
import game.support.Emplacement;
import java.util.Iterator;
import java.util.Random;

public class SimulationInteligenceJoueur {
    public SimulationInteligenceJoueur() { }

    public boolean utiliserJeton(Plateau plateau, Joueur joueur) {
        Boolean unCochonEstDernier = false;
        Iterator<Cochon> iteratorCochon = ((JoueurImpl) joueur).iteratorCochon();
        Emplacement premierEmplacementOccupe = plateau.premierEmplacementOccupe();

        while (iteratorCochon.hasNext()) {
            if (unCochonEstDernier == false) {
                unCochonEstDernier = iteratorCochon.next().estSur(premierEmplacementOccupe);
            }
        }

        int random = unCochonEstDernier ? new Random().nextInt(3) : new Random().nextInt(4);

        return random < 2;
    }

    public Cochon selectionnerCochon(Joueur joueur) {
        int random = new Random().nextInt(joueur.nombreCochon());
        int currentIndexCochon = 0;
        Iterator<Cochon> iteratorCochon = ((JoueurImpl) joueur).iteratorCochon();
        Cochon currentCochon = null;

        while (iteratorCochon.hasNext()) {
            currentCochon =  iteratorCochon.next();
            if (currentIndexCochon == random) {
                return currentCochon;
            }
            currentIndexCochon++;
        }

        return currentCochon;
    }
}
